Reachability Graph-Based Test Sequence Generation for Concurrent Programs

نویسندگان

  • W. Eric Wong
  • Yu Lei
چکیده

One common approach to test sequence generation for structurally testing concurrent programs involves constructing a reachability graph (RG) and selecting a set of paths from the graph to satisfy some coverage criterion. It is often suggested that test sequence generation methods for testing sequential programs based on a control flow graph (CFG) can also be used to select paths from an RG for testing concurrent programs. However, there is a major difference between these two, as the former suffers from a feasibility problem (i.e., some paths in a CFG may not be feasible at run-time) and the latter does not. As a result, even though test sequence generation methods for sequential programs can be applied to concurrent programs, they may not be efficient. We propose four methods — two based on hot spot prioritization and two based on topological sort — to effectively generate a small set of test sequences that covers all the nodes in an RG. The same methods are also applied to the corresponding dual graph for generating test sequences to cover all the edges. A case study was conducted to demonstrate the use of our methods.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Comparative Study on Test Case Generation of Concurrent Programs

This paper deals with a comparative study on testing of concurrent programs based on different techniques. The various challenges in testing concurrent programming are: defining test coverage criteria based on control flow, generating control flow graph of nondeterministic programs, investigating the applicability of sequential testing criteria to parallel program testing etc. For solving these...

متن کامل

PRELIMINARY VERSION SUBMITTED TO IEEE TRANSACTION ON SOFTWARE ENGINEERING 3 sequences

One approach to testing concurrent programs, called reachability testing, generates synchronization sequencesautomatically, and on-the-fly, without constructing any static models. In this paper, we present a general execution model forconcurrent programs that allows reachability testing to be applied to several commonly used synchronization constructs. We alsopresent a new method fo...

متن کامل

Reachability Testing : An Approach to Testing Concurrent

Concurrent programs are more diicult to test than sequential programs because of nondeterministic behavior. An execution of a concurrent program non-deterministically exercises a sequence of synchronization events, called a synchronization sequence (or SYN-sequence). Nondeterministic testing of a concurrent program P is to execute P with a given input many times in order to exercise distinct SY...

متن کامل

An Integrated Regression Testing Framework to Multi-Threaded Java Programs

Regression testing is a process to retest modified programs to examine whether or not new bugs were introduced by a modification. Currently, most of the selective regression testing methods have been presented to test non-concurrent programs, but few of them discussed the regression testing of concurrent programs. In this article, a selective regression testing framework based on reachability t...

متن کامل

Test Sequence Generation for Java7 Fork/Join Using Interference Dependence

Test sequence generation through code is mainly done by using some sort of a flow graph viz. Control Flow Graph (CFG), Concurrent Control Flow Graph (CCFG), event Graph etc. approaches that use UmL also need flow graph as an intermediate representation for final test sequence generation. In the present approach, a Flow Graph for a new concept i.e. Java7 Fork/Join is constructed and hence, by tr...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • International Journal of Software Engineering and Knowledge Engineering

دوره 18  شماره 

صفحات  -

تاریخ انتشار 2008